package paquetes.manager;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.util.*;

import paquetes.interfazRemota.ProveedoresController;
import paquetes.negocioVO.ProveedorVO;

public class AdministradorProveedor
{	
	private ProveedoresController prov;
	private static AdministradorProveedor instancia;
	
	public static AdministradorProveedor getInstancia()
	{
		if(instancia==null)
			instancia = new AdministradorProveedor();
		return instancia;
	}
	
	private AdministradorProveedor()
	{
		try {
			
			/*System.setProperty("java.security.policy","C:/Eclipse EE/eclipse/workspace/Paquetes_Cliente/src/java.policy");
				
			System.setProperty("java.rmi.server.codebase","file:C:/Users/cuenca-emiliano/Desktop/Paquetes_Repositorio/src/paquetes/");
			
			System.setSecurityManager(new RMISecurityManager());
			if (System.getSecurityManager() == null)
				   System.setSecurityManager(new RMISecurityManager());
			*/	
			
			prov = (ProveedoresController) Naming.lookup("//localhost/TPO_Paquetes_Proveedores");
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		} catch (NotBoundException e) {
			e.printStackTrace();
		}
	}
	
	public  List<ProveedorVO> getProveedores() {
		return prov.listarProveedores();
	}

	public  ProveedorVO getProveedor(Integer id) {
		return prov.getProveedor(id);
	}
	
	public  void actualizar(ProveedorVO p) {
		prov.modificarProveedor(p);
	}
	
	public  boolean alta(String nombre, String telefonoContacto, float Deuda) {
		return prov.altaProveedor(nombre,telefonoContacto,Deuda);
	}

	public  void baja(ProveedorVO c) {
		prov.bajaProveedor(c.getId());
	}
   
    
}
